package com.wondertek.service.sdk.iotdh.dto.res.network;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author xxx
 * @Date 2024/9/5 14:15
 */
@Data
public class Network {
    @Schema(name = "id", description = "警报中心的有线网络 ID", required = true)
    private Integer id;

    @Schema(name = "physicalAddress", description = "MAC地址 数字 + 冒号 + 大写字母：11:2D:A3:4C:5F:66", required = true)
    private String physicalAddress;

    @Schema(name = "mtu", description = "最大网络传输单位", required = true)
    private Integer mtu;

    @Schema(name = "networkTransmissionMode", description = "网络传输方式 Adapt: adaptive (default); half10M:10M half-duplex; full10M: 10M full-duplex; half100M:100M half-duplex; full100M: 100M full-duplex; full1000M: 1000M full-duplex; longPoE10M: long distance PoE 10M; longPoE100M-long distance PoE 100M.", required = true)
    private String networkTransmissionMode;

    @Schema(name = "type", description = "以太网端口类型 Standard: standard Ethernet port; Manager: management Ethernet port; Extend: extended Ethernet port.", required = true)
    private String type;

    @Schema(name = "ipAddress", description = "IP地址", required = true)
    private String ipAddress;

    @Schema(name = "subNetworkMask", description = "子网掩码", required = true)
    private String subNetworkMask;

    @Schema(name = "defaultGateway", description = "默认网关", required = true)
    private String defaultGateway;

    @Schema(name = "dhcpEnable", description = "是否启用 DHCP（动态主机配置协议）", required = true)
    private Boolean dhcpEnable;

    @Schema(name = "enableDhcpReservedIp", description = "DHCP 失败时是否使用保留的 IP 地址。继续发送 DHCP 请求时使用保留的 IP 地址。", required = true)
    private Boolean enableDhcpReservedIp;

    @Schema(name = "dnsAutoGet", description = "DNS 获取方法", required = true)
    private Boolean dnsAutoGet;

    @Schema(name = "dnsServers", description = "DNS 服务器的 IP 地址列表 不同的 DNS 地址可以为每个 NIC 配置，但只有默认 NIC 的 DNS 会保存到系统中。", required = true)
    private List<String> dnsServers;
}
